package com.zrwl.poscloud.xo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zrwl.poscloud.base.entity.Menus;
import com.zrwl.poscloud.base.superI.SuperService;
import com.zrwl.poscloud.xo.vo.MenusVO;
import com.zrwl.poscloud.xo.vo.RoleVO;

import java.util.List;
import java.util.Map;

/**
 * 功能菜单 服务类
 *
 * @author 刘思童 AutoGenerate
 * @date 2021-04-16
 */
public interface MenusService extends SuperService<Menus> {

    public IPage<Menus> getPageList(MenusVO menusVO);

    public List<Menus> getAllList(MenusVO menusVO);

    public String add(MenusVO menusVO);

    public String edit(MenusVO menusVO);

    public String delete(MenusVO menusVO);

    public List<Menus> getRootMenusList();

    public Void getChildrenList(MenusVO menusVO);

    public Void getAllChildrenList(MenusVO menusVO);

    public List<Menus> getAllMenuList(MenusVO menusVO);

    public List<MenusVO> getMenuTreeList(MenusVO menusVO);

    public List<MenusVO> getOwnMenuTreeList(RoleVO roleVO);

    public List<MenusVO> getNotOwnMenuTreeList(RoleVO roleVO);

    public Map<Integer, List<String>> getLocalOrCloudUrlMode();

    public IPage<Menus> getAPIMenusList(MenusVO menusVO);

    public String batchMenusModeTrans(List<MenusVO> menusVOList);
}
